The present invention relates to the process of data migration between storage systems. More particularly, the present invention relates to a method, apparatus and computer program for use in a system that performs data migration between storage systems for causing the system to accept access to the storage systems even though data migration between the storage systems has not been completed.
Hereinafter the term xe2x80x9coldxe2x80x9d when used with other terms, for example, xe2x80x9cold volumexe2x80x9d indicates the resources of the system where the data originates during data migration. Further, hereinafter the term xe2x80x9cnewxe2x80x9d when used with other terms, for example, xe2x80x9cnew volumexe2x80x9d indicates the resources of the system where the data is destined during data migration. Data migration is the transferring of data from the old volume to the new volume. A volume is a storage system implemented by disk, memory circuits or the like.
During the process of data migration between the old volume and the new volume, where the CPU of the overall system reads data from the old volume and writes the data to the new volume, access by the CPU to volumes in response to a request generated by the execution of a job of a customer is prevented. Accesses to the volumes can sometimes be stopped for long time during data migration. Thus, the effectiveness of the overall system is reduced.
To address this disadvantage, IBM corporation developed a method of data migration which permits access from the CPU (disclosed by IBM 3990 model 6 Enhancements) using an extended remote copy function (hereafter XRC) or a peer to peer remote copy function (hereafter PPRC). This disadvantage was also addressed by EMC Corporation which developed a method of data migration that permits access from the CPU in Symmetrix Data Migration Service (SDMS) as described in the SYMMETRIX ICDA Family PRODUCT ANNOUNCEMENT SUMMARY, Nov. 6th, 1995.
The system with XRC is provided with a function of storing data, to be written to the old volume (disk subsystem), from the CPU into a disk controller in the old disk subsystem. The disk controller then stores the data into the old disk subsystem. In order to accomplish data migration the CPU has the function of reading the stored data from the old disk subsystem via the disk controller. Thereafter, the CPU writes the data to the new disk subsystem thereby completing data migration.
After data migration has been completed, a request for access to the old disk subsystem generated by execution of a customer job is prevented until the path to the old disk subsystem is switched to that of the new disk subsystem. Access is then permitted to the new disk subsystem.
The above-described system with XRC requires that the function of the XRC be provided in the old disk subsystem and the CPU. Intervention of the CPU is not required to perform the access. However, as with general data migration, the new setting for the new disk subsystem is required for the CPU.
In the system with PPRC, the old disk subsystem and the new disk subsystem are connected to each other to permit communication between them. By writing data to be written by the CPU to the new disk subsystem through the connection, data migration during access from the CPU is enabled. As with the XRC, access generated by execution of the job of a customer after the completion of data migration is prevented until the path to the disk subsystems has been switched. In the system with PPRC, intervention of the CPU to perform the access, as with the system with the XRC, is not required. However, the old and the new disk subsystems must be provided with the function of the PPRC.
In the system with SDMS in order to conduct data migration, first the access from the CPU to the old disk subsystem is stopped. Then the connection of the access path from the CPU to the old disk subsystem is changed to the connection of the access path from the CPU to the new disk subsystem through a new access path between the old disk subsystem and the new disk subsystem. By reading data from the old disk subsystem and writing it to the new disk subsystem through the new access path, data migration is started. After the start of data migration, the access from the CPU is restarted. If the access from the CPU is to a region where data migration has been completed, the new disk subsystem processes the data directly. If the access from the CPU is to a region where data migration has not been completed, after the data of the relevant tracks in the old disk subsystem is read and written into the new disk subsystem, the new disk subsystem processes the data with normal processing. Thus, access from the CPU during data migration is enabled.
The important feature of the function of the SDMS is that the old disk subsystem is not required to have the function of data migration. The priority of the order of volumes that are to be transferred faster can be defined at the start of data migration. However, after completion of data migration dual operation of the new disk subsystem and an alternate disk subsystem can not be conducted unless repeated data migration processes are performed using a Symmetrix Remote Data Facility.
An object of the present invention is to provide a method, apparatus and computer program that allows for the safe writing of data by the CPU to the old and new volumes during data migration.
Another object of the present invention is to provide a method, apparatus and computer program for performing a data migration process while enabling dual operation of old and new volumes immediately after completion of data migration and enabling relatively immediate switching of the new volume to the old volume when the new volume failed during data migration.
Yet another object of the present invention is to provide a method, apparatus and computer program having a function of automatically adjusting data migration speed during data migration depending on the state of the load to the new volume so as to give priority to accesses to the new volume by the CPU.
Still yet another object of the present invention is to provide a method, apparatus and computer program for performing data migration in a manner that improves the performance of data migration and access to the volumes by the CPU.
The present invention provides a method, apparatus and computer program for performing data migration in a general purpose computer system. The general purpose computer (information processing) system includes a central processing unit (CPU), a new disk controller (CU), a new disk volume (VOL), an old CU and an old VOL. The new CU and new VOL are the destination of data migration and the old CU and the old VOL are the origin of data migration. The new CU is provided with a data migration control part that controls data migration of data between the old and new VOLs and a cache that stores data for later storage to the new VOL. A CU and a VOL can be implemented by a disk subsystem or a server.
The present invention provides a plurality of connections between the above-described elements. Particularly, the present invention provides a connection between the CPU and the new CU and a connection between the new CU and the old CU. There are also connections between the new CU and the new VOL and between the old CU and the old VOL.
The connections between the CPU and the new CU and between the new CU and the old CU are configured to permit data migration from the old VOL to the new VOL. When data migration is started, access by the CPU to the old and new VOLs is temporarily stopped. After start of data migration, access from the CPU is permitted.
In the present invention, upon issue of an access by the CPU the data migration control part in the new CU judges if the access is to a region where data migration has been completed or to a region where data migration has not been completed. When the access by the CPU is to a region where data migration has been completed, the data exists in the new CU and the new CU responds to the access. When the access by the CPU is to a region where data migration has not been completed, the data does not exist in the new CU. Thus, the data migration control part responds to the access by accessing the old CU through the connection between the old CU and the new CU to retrieve the data to the cache 18 in the new CU. After the CPU operates on the data, the data is then written to both the new CU and the old CU.
As per the above, in the present invention when the CPU accesses a region where data migration has not been completed, data from tracks read from the old volume are stored to the new volume and the data once operated on is stored to both the old volume and the new volume. Further, when the data is to be written to the new volume, the data is also written to the old volume. Thus, the new and the old volumes contain the same data at the regions where data migration has been completed. Therefore, immediate switching to dual operation after the completion of data migration is enabled. Also switching to the old volume is possible when a failure occurs in the new volume during data migration since the most recent update of data is reflected in the old volume. The above-described writing by the CPU to the new and old VOLs can be safely conducted during data migration.
By reflecting data of tracks read from the old disk subsystem during access by the CPU to a region where data migration has not been completed to the new volume, the data migration process can skip the tracks. Skipping tracks in the which data migration is not necessary improves the efficiency of the data migration process. Further, by leaving data of a track on the cache of the new CU allows for repeated access to the data by the CPU. Allowing for such repeated access to data in the cache improves the efficiency of access by the CPU during data migration.
The present invention adjusts data migration speed based on various information of the system that have been acquired and analyzed. Such information includes information of the utilization of the cache in the new CU, information of the utilization of the connection between the new CU and the old CU, information of the utilization of the old VOL and information of the utilization of data migration speed at the current speed. The present invention provides a function where the data migration speed can be adjusted in a manner to give priority to access of the old VOL by the CPU.